package CapaLogica;


//  @ Project : PrGaleriaAmejia_Drivera
//  @ File Name : Obra.java
//  @ Date : 01/04/2012
//  @ Author :Amejia_Drivera
//


public class Obra {
    
    //Atributos propios
    private String codigo;
    private String nombre;
    private String dimensiones;
    private String fechaRealizada;
    private String duracionDesarrollo;
    private String tecnica;
    private String estado;
    private boolean indFama;
    private String desHistoria;
    private int codArtista;//Levanta artista
    //Atributos de relacion
    private Artista arista;
        
   //Constructor(es)

    public Obra(String pcodigo, String pnombre, String pdimensiones, String pfechaRealizada, String pduracionDesarrollo,
            String ptecnica, String pestado, boolean pindFama, String pdesHistoria,int pcodArista) {
            setCodigo(pcodigo);
            setNombre(pnombre);
            setDimensiones(pdimensiones);
            setFechaRealizada(pfechaRealizada);
            setDuracionDesarrollo(pduracionDesarrollo);
            setTecnica(ptecnica);
            setEstado(pestado);
            setIndFama(pindFama);
            setDesHistoria(pdesHistoria);
            setCodArtista(pcodArista);
    }
          
   //Acceso a la clase

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getDesHistoria() {
        return desHistoria;
    }

    public void setDesHistoria(String desHistoria) {
        this.desHistoria = desHistoria;
    }

    public String getDimensiones() {
        return dimensiones;
    }

    public void setDimensiones(String dimensiones) {
        this.dimensiones = dimensiones;
    }

    public String getDuracionDesarrollo() {
        return duracionDesarrollo;
    }

    public void setDuracionDesarrollo(String duracionDesarrollo) {
        this.duracionDesarrollo = duracionDesarrollo;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public String getFechaRealizada() {
        return fechaRealizada;
    }

    public void setFechaRealizada(String fechaRealizada) {
        this.fechaRealizada = fechaRealizada;
    }

    public boolean isIndFama() {
        return indFama;
    }

    public void setIndFama(boolean indFama) {
        this.indFama = indFama;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getTecnica() {
        return tecnica;
    }

    public void setTecnica(String tecnica) {
        this.tecnica = tecnica;
    }

    public Artista getArista() throws Exception {
        if(arista==null){
            setArista(new MultiArtista().buscarPorId(getCodArtista()));
        }
        return arista;
    }

    public void setArista(Artista arista) {
        this.arista = arista;
    }

    public int getCodArtista() {
        return codArtista;
    }

    public void setCodArtista(int codArtista) {
        this.codArtista = codArtista;
    }
    
    
    
    //Metodos
    
    public String toString(){
        String result="Codigo: "+getCodigo()+"\n"
                      +"Nombre: "+getNombre()+"\n"
                      +"Dimensiones: "+getDimensiones()+"\n"
                      +"Fecha realizada: "+getFechaRealizada()+"\n"
                      +"Tiempo desa: "+getDuracionDesarrollo()+"\n"
                      +"Tecnica utlizada: "+getTecnica()+"\n"
                      +"Estado: "+getEstado()+"\n"
                      +"Ind Fama: "+isIndFama()+"\n"
                      +"Historia: "+getDesHistoria().length()+"\n";
        return result;
    }
       
}
